package com.xmy.study.util;

/**
 * 公共的返回码
 *    返回码code：
 *      成功：10000
 *      失败：10001
 *      未登录：10002
 *      未授权：10003
 *      抛出异常：99999
 */
public enum ResultCode {

    SUCCESS(true,10000,"操作成功！"),
    //---系统错误返回码-----
    FAIL(false,10001,"操作失败"),
    UNAUTHENTICATED(false,10002,"您还未登录或登陆超时，请重新登陆"),
    UNAUTHORISE(false,10003,"权限不足"),
    SERVER_ERROR(false,99999,"抱歉，系统繁忙，请稍后重试！"),

    NOTDATA(false,10001,"数据不存在"),
    ERRORDATA(false,10001,"数据不存在"),
    quarterNo(false,10001,"季度不存在，请先添加季度"),
    //---用户操作返回码  2xxxx----
    MOBILEORPASSWORDERROR(false,20001,"用户名或密码错误"),
    NOORDER(false,10001,"订单不存在"),
    NOTINVALIDATEUSE(false,10001,"扣过课时订单不能作废"),
    NOT_CANCEL_INVALIDATEUSE(false,10001,"扣过课时订单不能取消作废"),
    NOTINVALIDATE(false,10001,"当前订单不能作废"),
    STATUSNOT(false,10001,"当前状态不允许此操作"),
    SCHOOL_AFIRM(false,10001,"要校长先确认，财务才能做确认"),

    ACCOUNT_IN(false,10001,"机构帐号已存在"),
    OUT_COURSE_NOT(false,10001,"转出课程不存在"),
    COURSE_NOT(false,10001,"课程不存在"),
    OUT_COURSE_BIG(false,10001,"转出课时不能大于剩余课时"),
    REFUND_COURSE_BIG(false,10001,"退费课时不能大于剩余课时"),
    NOR_COURSE(false,10001,"没有课时，不能分班"),
    REFUND_COURSE_NOT(false,10001,"退费课程不存在"),
    TeacerNo(false,10001,"上课老师不存在"),
    NotATeacher(false,10001,"老师不是上课老师类型，与在员工管理里设置为上课老师"),
    TeacherHouseError(false,10001,"老师的课时设置不正确"),
    CourseSchedulingClassNo(false,10001,"排课班级不存在"),
    CourseScheduling(false,10001,"排课信息不存在"),
    AttendClassDateNotNull(false,10001,"上课日期不能为空"),
    SchoolNotNull(false,10001,"学校不能为空"),
    CourseNotNull(false,10001,"课程不能为空"),
    ClassRoomNotNull(false,10001,"上课教室不能为空"),
    GRADE_NOT(false,10001,"班级不存在"),
    GRADE_IS_FINISH(false,10001,"班级已经班，不能操作"),
    Student_IS_FINISH(false,10001,"学生已经结课，不能操作"),
    ORDERDETAIL_NOT(false,10001,"订单信息不存在"),
    DISCOUNTS_PRICE_NOT(false,10001,"优惠金额不能大于剩余金额"),
    ORDERDETAIL_COURESE_IN(false,10001,"已存在报读信息,不能删除"),
    NOT_COURSE_HOURSE(false,10001,"课时已用完不能分班"),
    KNOTGRADE(false,10001,"已结班，不能分班"),
    OPEN_DATE_NULL(false,10001,"开班日期不能为空"),
    END_DATE_NULL(false,10001,"结班日期不能为空"),
    SCHOOL_NOT_EQUAL(false,10001,"转出与转入校区不能相同"),
    SCHOOL_IN_EQUAL(false,10001,"转出与转入校区要一致"),
    NOT_DELETE_REPAIR(false,10001,"已上课，不能删除"),
    FACE_IN(false,50002,"您已人脸采集过，请检查所选学生是否和之前采集的学生一致"),
    FACE_ERROR(false,50002,"人脸采集失败"),
    NOT_REPAIR_STATUS(false,10001,"不是请假状态,操作失败"),
    NOT_REPAIR(false,10001,"没有按排补课，请先添加安排补课"),
    NOT_REPAIR_ERROR(false,10001,"没有被扣金额，操作失败");



    //---企业操作返回码  3xxxx----
    //---权限操作返回码----
    //---其他操作返回码----

    //操作是否成功
    boolean success;
    //操作代码
    int code;
    //提示信息
    String message;

     ResultCode(boolean success,int code, String message){
        this.success = success;
        this.code = code;
        this.message = message;
    }

    public boolean success() {
        return success;
    }

    public int code() {
        return code;
    }

    public String message() {
        return message;
    }

}
